package com.fenxiangle.yueding.feature.publish.contract;

import com.fenxiangle.yueding.entity.bo.AliPayBo;
import com.fenxiangle.yueding.entity.bo.MyAccountBo;
import com.fenxiangle.yueding.entity.bo.PayBo;
import com.suozhang.framework.framework.BasePresenter;
import com.suozhang.framework.framework.BaseView;

import io.reactivex.Observable;

public interface PayContract {

    interface Model {


        Observable<AliPayBo> getPayData(PayBo payBo);

        Observable<AliPayBo> rechargeCredit(PayBo payBo);

        Observable<MyAccountBo> getMyAccount();
    }

    interface View extends BaseView {

        void showAliPayData(String aliPayData);

        void showWxPayData(AliPayBo.WechatBo wechatBo);

        void showError(String error);

        void showAccountSuccess(MyAccountBo aliPayData);

    }


    interface Presenter extends BasePresenter {
        void getPayData(String type,
                        int payStatus,
                        String serialNumber,
                        String transactionMount);

        void rechargeCredit(String type,
                            int payStatus,
                            String transactionMount);

        void getMyAccount();
    }
}
